79be5ffbc2553ef7e69658743698503fab16d058,src/edu/stanford/nlp/trees/QPTreeTransformer.java,QPTreeTransformer,doTransform,#Tree#,77

Before Change


      // have an easier time interpreting the tree later on
      if (children.size() >= 3) {
        boolean flat = true;
        for (int i = 0; i < children.size(); ++i) {
          if (!children.get(i).isPreTerminal()) {
            flat = false;
            break;
          }

After Change


      // right subtrees with the CC in the middle so the headfinders
      // have an easier time interpreting the tree later on
      if (children.size() >= 3) {
        boolean isFlat = isFlat(children);
        if (isFlat) {
          for (int i = 1; i < children.size() - 1; ++i) {
            if (children.get(i).value().startsWith("CC")) {
              transformCC(t, children.subList(0, i), children.get(i), children.subList(i + 1, children.size()));
              children = t.getChildrenAsList();
              isFlat = false;
              break;
            }
          }
        }

        if (isFlat) {
          boolean isMoney = children.get(0).value().startsWith("$");
          if (isMoney) {
            for (int i = 1; i < children.size(); ++i) {
              if (!children.get(i).value().startsWith("CD")) {
                isMoney = false;
                break;
              }
            }
          }
          if (isMoney) {
            transformMoney(t, children);
          }
        }
      }